package cn.iocoder.yudao.module.book.dal.dataobject.community;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 社区动态 DO
 *
 * @author system
 */
@TableName("community_posts")
@KeySequence("community_posts_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CommunityPostsDO extends BaseDO {

    /**
     * 动态ID
     */
    @TableId
    private Long postId;
    
    /**
     * 发布用户ID
     */
    private Integer userId;
    
    /**
     * 分类：experience-经验分享，study-学习记录，qa-问答求助，resource-资源推荐
     */
    private String category;
    
    /**
     * 标题
     */
    private String title;
    
    /**
     * 内容
     */
    private String content;
    
    /**
     * 学习时长（学习记录类型时使用）
     */
    private String studyDuration;
    
    /**
     * 阅读页数（学习记录类型时使用）
     */
    private String studyPages;
    
    /**
     * 学习内容（学习记录类型时使用）
     */
    private String studyContent;
    
    /**
     * 关联绘本ID（可选）
     */
    private Integer relatedBookId;
    
    /**
     * 关联绘本集ID（可选）
     */
    private Integer relatedCollectionId;
    
    /**
     * 关联打卡记录ID（可选）
     */
    private Integer relatedClockId;
    
    /**
     * 点赞数
     */
    private Integer likesCount;
    
    /**
     * 评论数
     */
    private Integer commentsCount;
    
    /**
     * 分享数
     */
    private Integer sharesCount;
    
    /**
     * 状态：1-正常，0-隐藏，-1-删除
     */
    private Integer status;
    
    /**
     * 是否置顶：1-是，0-否
     */
    private Integer isTop;

}
